/**
 * 
 */
package com.wuneng.commonlibrary.widget;

import android.app.ActionBar;
import android.app.Activity;
import android.content.Context;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

import com.wuneng.commonlibrary.R;


/**
 * @Title: ActionBarUtil
 * @Description:
 * @Company: www.cari.com.cn
 * @author zhouzhou
 * @date 2016-4-18 下午2:41:58
 */
public class ActionBarUtil {

	/**
	 * create Title ActionBar
	 * 
	 * @param context
	 * @param title
	 *            标题
	 */
	public static void createActionBar(Context context, String title) {
		ActionBar mActionbar = ((Activity) context).getActionBar();
		if (mActionbar != null) {
			createTitle(mActionbar, title);
		}
	}

	/**
	 * 
	 * @param context
	 * @param title
	 *            标题
	 * @param backStr
	 *            返回文字
	 */
	public static void createActionBarWithBack(Context context, String title) {
		createActionBar(context, title, "返回");
	}

	/**
	 * 
	 * @param context
	 * @param title
	 *            标题
	 * @param backStr
	 *            返回文字
	 */
	public static void createActionBar(Context context, String title, String backStr) {
		ActionBar mActionbar = ((Activity) context).getActionBar();
		if (mActionbar != null) {
			createTitle(mActionbar, title);
			if (backStr != null) {
				setBack(mActionbar, true, backStr, context);
			}
		}
	}

/**
 * 
 * @param context 
 * @param title 标题文字
 * @param backStr返回文字
 * @param MoreBtnName 操作按钮文字
 * @param onClickListener 操作监听器
 */
	public static void createActionBar(Context context, String title, String backStr, String MoreBtnName, OnClickListener onClickListener) {
		ActionBar mActionbar = ((Activity) context).getActionBar();
		if (mActionbar != null) {
			createTitle(mActionbar, title);
			if (backStr != null) {
				setBack(mActionbar, true, backStr, context);
			}
			if (onClickListener != null) {
				setShowMore(mActionbar, MoreBtnName, onClickListener);
			}
		}
	}

	/**
	 *
	 * @param context
	 * @param title
	 *            标题
	 * @param backStr
	 *            后退文字
	 * @param onClickListener
	 *            操作按钮监听
	 */
	public static void createActionBar(Context context, String title, String MoreBtnName, OnClickListener onClickListener) {
		createActionBar(context, title, "操作", onClickListener);
	}

	/**
	 *
	 * @param context
	 * @param title
	 *            标题
	 * @param onClickListener
	 *            操作按钮监听
	 */
	public static void createActionBar(Context context, String title, OnClickListener onClickListener) {
		ActionBar mActionbar = ((Activity) context).getActionBar();
		if (mActionbar != null) {
			createTitle(mActionbar, title);
			if (onClickListener != null) {
				setShowMore(mActionbar, "操作", onClickListener);
			}
		}
	}

	private static void createTitle(ActionBar mActionbar, String title) {
		mActionbar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
		mActionbar.setDisplayShowCustomEnabled(true);
		mActionbar.setCustomView(R.layout.top_back_center_bar);
		((TextView) mActionbar.getCustomView().findViewById(R.id.tv_tbb_title)).setText(title);
	}

	private static void setShowMore(ActionBar mActionbar, String moreBtnName, OnClickListener onClickListener) {
		if (moreBtnName != null) {
			((Button) mActionbar.getCustomView().findViewById(R.id.iv_tbb_more)).setText(moreBtnName);
		}
		mActionbar.getCustomView().findViewById(R.id.iv_tbb_more).setVisibility(View.VISIBLE);
		mActionbar.getCustomView().findViewById(R.id.iv_tbb_more).setOnClickListener(onClickListener);
	}

	private static void setBack(ActionBar mActionbar, boolean flag, String backStr, final Context context) {
		if (flag) {
			Button back = (Button) mActionbar.getCustomView().findViewById(R.id.iv_tbb_back);
			back.setVisibility(View.VISIBLE);
			back.setText(backStr);
			back.setOnClickListener(new OnClickListener() {
				@Override
				public void onClick(View v) {
					((Activity) context).finish();
				}
			});
		}
	}
}
